######################################################################################################################################################
### On va transformer le format BEAGLE en format PLINK
###############################################################################################
### de plus                        
##################################################################################################################
# Nous pouvons par ailleurs sélectionner les marqueurs d'intérêt - il s'agira des marqueurs présents sur les deux puces + ceux ayant une fréquence > 10%
# Dans les 1000 génomes 
#############################################################################################################################
#  Soit liste_snp cette liste
#########################################################################################################################
# liste_snp <- read.table(file="NPLINK2/SOURCE/liste_SNPs_final",h=F)
liste_snp <- read.table(file="listersTSF.txt",h=F)

# Les doublons sont dans dupsnps.txt.gz
dbles <- read.table(file="/home/simonet/WORK/_ignore.backup/dina_tmp/IBD_autoimm_CEDRIC/dupsnp.txt",h=F)

liste_snp2 <- liste_snp[!(liste_snp$V1 %in% dbles$V1),]
liste_snp2 <- as.data.frame(liste_snp2)

dim(liste_snp2)
#############################################################
# Voici les SNPs gardés #####################################

dir.create(path="plink")


merge_file <- "to_merge_files"

for (i in 1:22) {
print(paste("Chargement Haplotype du chromosome  ", i,sep=""))
haplo <- read.table(file=paste("EUR.20100804.chr",i,".bgl.phased",sep=""),h=T)
mark <- read.table(file=paste("EUR.20100804.chr",i,".markers.new",sep=""),h=F)
#print(paste("Chargement marqueurs du chromosome  ", i,sep=""))
#mark <- read.table(file=paste("EUR.20100804.chr",i,".markers",sep=""),h=F)
thaplo <- merge(haplo,mark[,c("V1","V2")],sort=F,by.x="id",by.y="V1")
thaplo$I <- i
thaplo$g <- "0"
# Nouveau data-frame
ncol <- dim(thaplo)[2]
ncol_1 <- ncol-1
ncol_2 <- ncol-2
# write.table(thaplo[thaplo$id %in%
#liste_snp2$V1,c(2,1,ncol,(ncol_1),3:ncol_2)],file=paste("NPLINK2/chr",i,"hein.tped",sep=""),row.names=F,col.names=F,quote=F)
write.table(thaplo[thaplo$id %in% liste_snp2$liste_snp2,c(2,1,ncol,(ncol_1),3:ncol_2)],file=paste("plink/chr",i,"hein.tped",sep=""),row.names=F,col.names=F,quote=F)
ncol2 <- dim(haplo)[2]
ped <- cbind(names(haplo)[seq(from=3,to=ncol2,by=2)],names(haplo)[seq(from=3,to=568,by=2)],"0","0","1","0")
write.table(ped,file=paste("plink/chr",i,"hein.tfam",sep=""),row.names=F,col.names=F,quote=F)
print("Ecriture du Chromosome ",i,sep="")
#write.table(ped,file=paste("TO_SOLENA/chr",i,"hein.tfam",sep=""),row.names=F,col.names=F,quote=F)
system(paste("plink --noweb --tfile plink/chr",i,"hein --make-bed --out plink/chr",i,"hein",sep=""))

if (i > 1) {write.table(paste("plink/chr",i,"hein.bed plink/chr",i,"hein.bim plink/chr",i,"hein.fam",sep=""),file=merge_file,append=T,quote=F,row.names=F,col.names=F)}

}
faitMerge <- T
outputfinalfile <- "final_1000_merged"
if (faitMerge) {system(paste("plink --noweb --bfile plink/chr1hein --merge-list ",merge_file,"  --make-bed --out ", outputfinalfile,sep=""))}
